package com.kaigejava.sortingalgorithm.bubblesorting;

import java.util.Arrays;

/**
 * @author kaigejava
 * 冒泡排序
 * 通过对待排序的序列从前向后，一次比较相邻元素的值，若发现逆序则交换。
 * 使值较大的元素逐渐从前移动到后面。
 */
public class BubbleSortingDemo {

    public static void main(String[] args) {
        int arr[] =  {3,9,-1,10,20};
        System.out.println("排序前:"+ Arrays.toString(arr));
        bubbleSortingFunction(arr);
        System.out.println("排序后:"+Arrays.toString(arr));
    }


    /**
     * 冒泡排序
     * @param arr
     */
    private static void bubbleSortingFunction(int[] arr) {
        if(null == arr || arr.length<2){
            return ;
        }

        for (int i = 0; i < arr.length-1 ; i++) {
            for (int j = 0; j < arr.length-1-i; j++) {
               int temp = arr[j];
               int next = arr[j+1];
               if(temp >next){
                   arr[j] = next;
                   arr[j+1] = temp;
               }
            }
        }

    }
}
